草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

javascript - 匹配没有查询字符串的 Url 路径

我想匹配Url中的路径,但忽略查询字符串。正则表达式应在查询字符串之前包含一个可选的尾部斜杠。应该提供有效匹配的示例url:/path/?a=123&b=123/path?a=123&b=123因此字符串'/path'应该匹配上述任一url。我尝试了以下正则表达式:(/path[^?]+).*但这只会匹配上面第一个例子中的url:/path/?a=123&b=123知道如何让它匹配第二个没有尾部斜杠的示例吗?正则表达式是必需的。 最佳答案 不需要正则表达式:url.split("?")[0];如果你真的需要它,那么试试这个:\/pa

javascript - 如何检查一个字符串是否与 node.js 中的任何正则表达式数组匹配?

我正在尝试有效地检查一个字符串是否与正则表达式数组中的任何一个匹配,并在遇到的第一个匹配项中返回true(打破对正则表达式的迭代)我当前的代码:_.forEach(self._connectedClients,function(client){if(client.authenticated){varinterested=_.forEach(client.interests,function(interest){if(evt.event_type.search(interest)!=-1){returntrue;}});if(interested){self._sendJSON(clie

javascript - 至少匹配 m 组中的 n 组的正则表达式

我打算编写一个正则表达式,仅当字符串至少包含n个不同类别的字符时才匹配。我打算用它来强制我的用户创建强密码,并想检查密码是否至少包含以下3项:人物大写字符数字特殊字符如果所有这些类都存在,编写一个匹配的正则表达式是微不足道的使用前瞻。但是,我无法理解“至少3”部分。这甚至可能(在一个漂亮、紧凑的表达式中)还是我必须创建一个怪物表达式? 最佳答案 我认为这将比列出4个中的3个的每个可能组合更紧凑。它利用否定前瞻来确保整个字符串不只由您列出的一个或两个字符类组成:(?!([a-zA-Z]*|[a-z\d]*|[^A-Z\d]*|[A-Z

JavaScript 正则表达式不匹配确切的字符串

在下面的示例中,输出为真。它是cookie,它也匹配cookie14214我猜这是因为cookie在字符串cookie14214中。我如何磨练这场比赛以只获得cookie?varpatt1=newRegExp(/(biscuit|cookie)/i);document.write(patt1.test("cookie14214"));这是最好的解决方案吗?varpatt1=newRegExp(/(^biscuit$|^cookie$)/i); 最佳答案 答案取决于您允许单词cookie周围的字符数。如果单词要单独出现在一行中,那么:

javascript - 动态嵌套对象数组的递归迭代

我正在使用AngularJS及其示例之一:http://jsfiddle.net/furf/EJGHX/我需要在更新功能发生时获取数据,并在发送到服务器之前向其添加一些值。(如果用angular而不是js做这个会更好让我知道)我正在尝试获取“parentid”和“index”并更新子项。这是我正在循环的数据{"children":[{"id":"5","parentid":"0","text":"DeviceGuides","index":"1","children":[{"id":"10","index":"0","text":"GrandstreamGXP-21XX"},{"id"

用于匹配正则表达式的 Javascript 正则表达式

我正在研究一个特殊的正则表达式来匹配javascript正则表达式。现在我有这个正则表达式工作:/\/(.*)?\/([i|g|m]+)?/例如:'/^foo/'.match(/\/(.*)?\/([i|g|m]+)?/)=>["/^foo/","^foo",undefined]'/^foo/i'.match(/\/(.*)?\/([i|g|m]+)?/)=>["/^foo/i","^foo","i"]现在我需要让这个正则表达式与:'^foo'.match(/\/(.*)?\/([i|g|m]+)?/)=>["^foo","^foo",undefined]不幸的是,我之前的正则表达式不

javascript - 正则匹配表情

我们正在开展一个项目,希望用户能够使用表情符号语法(如:smile:、:heart:、:confused:、:stuck_out_tongue:)以及普通表情符号(如:)、,:/,:p)我在使用表情符语法时遇到问题,因为有时这些字符序列会出现在:普通字符串或URL-http://example.com在表情符号语法中-:p编码:如何找到这些表情符号字符序列,但当其他字符靠近它们时却找不到?我用于所有表情符号的整个正则表达式都很大,所以这里有一个精简版:(\:\)|\:\(|您可以在此处试用它的实际演示:http://regexr.com/3a8o5 最佳答案

JavaScript - 在 RegEx 中用 "\"替换 "/"字符的正确方法是什么

我在JavaScript中定义了一个函数来替换所有的-,_,@,#,$和\(它们是可能的分隔符)和/(有效分隔符)。我的目标是将任何字符串如"1394_ib_01#13568"转换为"1394/ib/01/13568"functionreplaceCharacters(input){pattern_string="-|_|@|#|$|\u005C";//usingcharacterUnicode//pattern_string="-|_|@|#|$|\";//usingoriginalcharacter//pattern_string="-|_|@|#|$|\\";//using"\\

javascript - 实例上的正则表达式总匹配

我的测试字符串包含一个左方括号和一个右方括号的4个实例,因此我希望以下正则表达式返回4个匹配项,但它只返回1个。consttest="sf[[[[asdf]]]]asdf"constregExp=newRegExp(/^.*\[.*\].*$/,"g");constmatches=test.match(regExp).length;console.log(matches); 最佳答案 您可以结合使用递归和正则表达式:functionparse(str){constmatches=[];str.replace(/\[(.*)]/,(m

javascript - 检查迭代 JavaScript 变量是否安全

我有一个JavaScript函数,有人可以在其中传递任何内容,我使用遍历它的每个键forxinobj语法。但是,如果它们传递原始值(字符串或数字),则会导致错误;正确的行为是函数对这些函数的作用与对没有键的对象的作用相同。我可以做一个try..catchblock来解决这个问题,但是还有另一种(更简洁的)方法吗? 最佳答案 x&&typeof(x)==='object'对象和数组也是如此(尽管您通常不想使用for..in遍历数组)。编辑:根据CMS修复。 关于javascript-检查迭